﻿/*************************************
Function：设置实体类
 Version：1.0
    Date：2012-04-28
  Author：rjdong
   Email：ooxxab@gmail.com
 WebSite：http://emake.info
*************************************
2013-01-22[rjdong]:增加Html压缩
**************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

using Yahoo.Yui.Compressor;
using System.Globalization;

namespace Wind.Compressor.Entity
{
    /// <summary>
    /// 压缩文件类型
    /// </summary>
    [Serializable]
    public enum CompressorFileType
    {
        Js, CSS
    }
    /// <summary>
    /// 配置实体类
    /// </summary>
    [Serializable]
    public class SettingInfo
    {
        #region Css

        public bool CssIsColumnWidth { get; set; }
        /// <summary>
        /// Css:specified column width ,for nice reading 
        /// </summary>        
        public int CssColumnWidth { get; set; }
        /// <summary>
        /// Css:压缩类型
        /// </summary>
        public CssCompressionType CssCompressionType { get; set; }
        /// <summary>
        /// Css:是否删除注释
        /// </summary>
        public bool CssRemoveComments { get; set; }
        /// <summary>
        /// Css:是否版本控制
        /// </summary>
        public bool CssIsVersion { get; set; }
        /// <summary>
        /// Css:版本控制标示
        /// </summary>
        public string CssVersion { get; set; }
        /// <summary>
        /// Css:是否自动保存
        /// </summary>
        public bool CssIsAutoSave { get; set; }
        /// <summary>
        /// Css:自动保存后缀
        /// </summary>
        public string CssAutoSaveEndStr { get; set; }
        /// <summary>
        /// Css:文件保存编码
        /// </summary>
        public string CssEncodeName { get; set; }

        #endregion

        #region Js

        /// <summary>
        /// Js:长日志???
        /// </summary>
        public bool JsIsVerboseLogging { get; set; }
        /// <summary>
        /// Js:是否混淆
        /// </summary>
        public bool JsIsObfuscateJavascript { get; set; }
        /// <summary>
        /// Js:是否保持所有符号???
        /// </summary>
        public bool JsPreserveAllSemicolons { get; set; }
        /// <summary>
        /// Js:是否禁用优化???
        /// </summary>
        public bool JsDisableOptimizations { get; set; }
        /// <summary>
        /// Js:是否自动折行
        /// </summary>
        public bool JsIsLineBreakPosition { get; set; }
        /// <summary>
        /// Js:折行位置
        /// </summary>
        public int JsLineBreakPosition { get; set; }
        /// <summary>
        /// Js:编码 Encoding
        /// </summary>
        public string JsEncodingName { get; set; }
        /// <summary>
        /// Js:区域设置 CultureInfo
        /// </summary>
        public string JsThreadCulture { get; set; }
        /// <summary>
        /// Js:是否忽略Eval
        /// </summary>
        public bool JsIsEvalIgnored { get; set; }
        /// <summary>
        /// Js:压缩类型
        /// </summary>
        public JavaScriptCompressionType JsCompressionType { get; set; }
        /// <summary>
        /// Js:是否版本控制
        /// </summary>
        public bool JsIsVersion { get; set; }
        /// <summary>
        /// Js:版本控制标示
        /// </summary>
        public string JsVersion { get; set; }
        /// <summary>
        /// Js:是否自动保存
        /// </summary>
        public bool JsIsAutoSave { get; set; }
        /// <summary>
        /// Js:自动保存后缀
        /// </summary>
        public string JsAutoSaveEndStr { get; set; }
        /// <summary>
        /// Js:文件保存编码
        /// </summary>
        public string JsEncodeName { get; set; }

        #endregion

        #region Html
        /// <summary>
        /// Html:是否删除空白
        /// </summary>
        public bool HtmlIsRemoveSpace { get; set; }
        /// <summary>
        /// Html:是否压缩Style标签内的Css
        /// </summary>
        public bool HtmlIsCompressCssInStyle { get; set; }      
        /// <summary>
        /// Html:删除Css的注释
        /// </summary>
        public bool HtmlIsRemoveCssComment{ get; set; }
        /// <summary>
        /// Html:文件保存编码
        /// </summary>
        public string HtmlEncodeName { get; set; }

        #endregion

    }
}
